<?php
/**
 * winbinder 패키지 
 * 
 * 
 * @package php.ui.winbinder
 */

/**
 * WBRadioButton
 *
 * @package php.ui.winbinder
 */ 
class WBRadioButton extends WBControl { 
	public function __construct($options = array()) { 
		$options['class'] = RadioButton;

		parent::__construct($options);
	}

	// 객체 초기화 
	protected function initComponent() { 
		parent::initComponent();

		if (isset($this->checked)) $this->setChecked($this->getOption('checked'));

		if (isset($this->tooltip)) $this->setToolTip($this->getOption('tooltip'));

		if (isset($this->start)) $this->setGroupStart($this->getOption('start'));
	}

	/**
	 * radio 버튼들을 묶을 그룹에서 첫번째 컴포넌트 지정 
	 * 
	 * @param bool $isGroupStart  첫번째 컴포넌트 여부 
	 */
	public function setGroupStart($isGroupStart = true) { 
		$this->setStyle(WBC_GROUP, $isGroupStart);
	}

	/**
	 * check 되어진 상태 
	 * 
	 * @return bool
	 */
	public function isChecked() { 
		return $this->getValue();
	}

	/**
	 * 체크 상태 설정 
	 * 
	 * @param bool $isChecked
	 */
	public function setChecked($isChecked = true) { 
		$this->setValue($isChecked);
	}

	/**
	 * ToolTip 설정
	 * 
	 * @param string $tooltip
	 */
	public function setToolTip($tooltip) { 
		$this->setText(array(null, $tooltip));
	}

	/**
	 * 기본 크기 생성 
	 * 
	 * @see WBComponent#getPreferedSize()
	 */
	public function getPreferedSize() { 
		$arr = wb_get_size($this->getText());

		return array(
			'width' => $arr[0] + 20,
			'height' => $arr[1] + 10,
		);
	}
}

?>